Deployment Diagram
It is used to show the physical deployment of artifacts (software components) on hardware nodes.
It visualizes:
- Nodes (hardware or software devices)
- Artifacts (executable files, libraries, components)
- The relationships among them (e.g., communication paths)
Components
| Element | Symbol | Description |
|---|---|---|
| Node | 3D box | A physical entity (e.g., server, computer) that hosts software |
| Artifact | Rectangle with dog-ear | A physical piece of information (e.g., .jar file, .dll, script) |
| Communication Path | Solid line | Shows communication between nodes |
| Dependency | Dashed arrow | Shows dependency between artifacts or nodes |
Example:
+------------------------------------------------------+
| <<device>> |
| Client Machine |
|------------------------------------------------------|
| +-------------------------------------------------+ |
| | <<artifact>> | |
| | Web Browser | |
| |- Used by students/librarians | |
| |- Accesses the system via HTTP | |
| +------------------------------------------------+| |
+------------------------------------------------------+
||
|| HTTP/HTTPS
\/
+------------------------------------------------------+
| <<device>> |
| Web Server |
|------------------------------------------------------|
| +-------------------------------------------------+ |
| | <<artifact>> | |
| | LibraryWebApp.war | |
| |- Handles UI rendering | |
| |- Accepts HTTP requests from clients | |
| |- Forwards requests to the application server | |
| +-------------------------------------------------+ |
+------------------------------------------------------+
||
|| Internal API Calls (e.g., REST)
\/
+------------------------------------------------------+
| <<device>> |
| Application Server |
|------------------------------------------------------|
| +-------------------------------------------------+ |
| | <<artifact>> | |
| | LMSLogic.jar | |
| |- Core business logic | |
| |- Processes book issue/return, fines, user auth | |
| +-------------------------------------------------+ |
| |
| +-------------------------------------------------+ |
| | <<artifact>> | |
| | ORM.jar | |
| |- Handles database access (ORM Layer) | |
| +-------------------------------------------------+ |
+------------------------------------------------------+
||
|| JDBC/SQL
\/
+------------------------------------------------------+
| <<device>> |
| Database Server |
|------------------------------------------------------|
| +-------------------------------------------------+ |
| | <<artifact>> | |
| | LibraryDB (MySQL) | |
| |- Stores books, users, transactions, fines | |
| |- Central persistent data storage | |
| +-------------------------------------------------+ |
+------------------------------------------------------+
/\
||
|| HTTPS / API / Background Sync
+------------------------------------------------------+
| <<device>> |
| Mobile App Device |
|------------------------------------------------------|
| +-------------------------------------------------+ |
| | <<artifact>> | |
| | LibraryApp.apk | |
| |- Mobile client for accessing LMS features | |
| |- May work in online/offline mode | |
| +-------------------------------------------------+ |
+------------------------------------------------------+